Metadata

Metadata is an object representing and describing the data, logic, and visual presentation of what is available from an API method. The metadata structure will differ depending on the modules activated, settings, roles and permissions, and overall configuration. The example response is from GET {{url}}/metadata/codeTable/codetable, where codetable is the list that you want to read.

Attributes

Element Description Type
Top level Object where the name is almost always the same name as the table name which is the attribute for the keys Top level object

Table Attributes: Represents the table key/value pairs

Element Description Type
Keys Array of objects whose attributes are described in the metadata fields Array
CustomTable If true, the admin has set this object as a custom table; otherwise, the table is available in the original object Boolean
TableName Name of the table which generally matches the key value String
GridID Unique identifier of the table grid String

Fields Array: Represents the field or attributes

Element Description Type
FieldName Name of the field or attribute String
FieldType Type of data allowed in the field. Additional fields are associated with types to provide additional information. Valid values:
  • Account
  • Checkbox
  • Company
  • Contact
  • Currency
  • Date
  • Datetime
  • Dropdown
  • Employee
  • Equipment
  • Firm
  • LABCD
  • Memo
  • Mkt
  • Name
  • Numeric
  • Opportunity
  • Org
  • Phone
  • ProjectPlan
  • RecordID
  • Role
  • String
  • TextLibrary
  • UDIC
  • Unit
  • UnitTable
  • Uppercase
  • Vendor
  • WBS1
  • WBS2
  • WBS3
  • XML
String
Caption Text label that shows on the UI String
MaxLength User defined length of the attribute Number
DefaultValue If not provided, a blank value is assigned. Upon insert, the value can be replaced with a blank represented by " ". String
Hidden If true, the value is hidden from the user in the application based on roles and permissions; otherwise, the value is shown to all roles. Boolean
Required Whether creating or updating an object, if true, the call requires providing this value; otherwise, this field is optional. Boolean
Updateable If true, the role the call is authenticated with can update the field; otherwise, the field cannot be updated by the role. Boolean
Decimals When the field type is currency or numeric, this field defines how many decimal places are allowed to the right of the decimal point for the numeric column. Number
MinValue When the field type is numeric, this value is the minimum threshold that the field will accept. Number
CurrencyType If the instance is multi-currency, this field identifies which currency type is used for the field. The value can be null. Example: The type can be specified as "projectCurrency" or "record" when CustomField is set to true. String
CustomField If true, the user can add custom fields; otherwise, custom fields cannot be added. All fields that are custom fields have the prefix "cust". Boolean
Codetable If the field type is a dropdown, this field is used to provide the codetable used to populate the dropdown. Valid values for the codetable are read via GET {{url}}/codeTable/{{codeTable}}. String
Codes If the field type is a dropdown, this field is used to provide the hard coded list of values. Array
LimitToList When the FieldType is a dropdown and the value is true, limit this field to that dropdown list. Boolean

Project Metadata Attributes Only

Element Description Type
ReqWBSLevel When this field is available, it denotes whether or not this field is required and at which level. Use this field in conjunction with the Required field. This field is unique to the Projects hub since there are three levels that are part of the work breakdown structure: tree structure with project (top level with a project key), phase, task. The levels are dependent on how the system is set up from a work breakdown structure standpoint. For example, if there is only one level in the work breakdown structure, you have the project level which is also the lowest level. If the project only has phases and no tasks, then the phases are the lowest level. If the project has two phases and one phase has a task, then the task for the phase is the lowest level, whereas the other phase without a task would be the lowest level.
Valid values:
  • "A" Required at all work breakdown structure levels
  • "P" Required only at the top level such as the project level
  • "L" Required at the lowest level or the leaf node
String